package net.javastone.toolkit.robot.dingding.model;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
 * Created by sdliang on 2018/11/6.
 */
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class GitlabWikiRequest {

  private String object_kind;

  private User user;

  private Project project;

  private Wiki wiki;

  private ObjectAttributes object_attributes;


  @Setter
  @Getter
  @AllArgsConstructor
  @NoArgsConstructor
  public static class User {

    private String name;
    private String username;
    private String avatar_url;

  }

  @Setter
  @Getter
  @AllArgsConstructor
  @NoArgsConstructor
  public static class Project {

    private int id;
    private String name;
    private String description;
    private String web_url;
    private String avatar_url;
    private String git_ssh_url;
    private String git_http_url;
    private String namespace;
    private int visibility_level;
    private String path_with_namespace;
    private String default_branch;
    private String ci_config_path;
    private String homepage;
    private String url;
    private String ssh_url;
    private String http_url;

  }

  @Setter
  @Getter
  @AllArgsConstructor
  @NoArgsConstructor
  public static class Wiki {

    private String web_url;
    private String git_ssh_url;
    private String git_http_url;
    private String path_with_namespace;
    private String default_branch;

  }

  @Setter
  @Getter
  @AllArgsConstructor
  @NoArgsConstructor
  public static class ObjectAttributes {

    private String slug;
    private String title;
    private String format;
    private String url;
    private String content;
    private String message;
    private String action;

  }
}
